package org.example.app.item.validator;

import com.alibaba.cola.exception.Assert;
import org.example.client.item.dto.cmd.ItemAddCmd;
import org.example.client.item.dto.cmd.ItemUpdateCmd;
import org.example.domain.item.gateway.ItemGateway;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

@Component
public class ItemValidator {

    @Resource
    private ItemGateway itemGateway;

    public void validateUpdateCmd(ItemUpdateCmd updateCmd) {
        Assert.isTrue(updateCmd.getCostPrice() <= updateCmd.getSalePrice(), "售价不能小于成本价");
        Assert.notNull(itemGateway.loadById(updateCmd.getId()), "商品不存在");
    }

    public void validateAddCmd(ItemAddCmd itemAddCmd) {
        Assert.isTrue(itemAddCmd.getCostPrice() <= itemAddCmd.getSalePrice(), "售价不能小于成本价");
    }
}
